package com.liuxy.androidutil;

import android.annotation.TargetApi;
import android.app.Activity;
import android.content.Intent;
import android.database.Cursor;
import android.os.Build;
import android.provider.ContactsContract.Contacts;

public final class ContactUtil {
	private static final String TAG = "MyTools.ContactUtil";
	private static final int PICK_CONTACT_REQUEST = 1;
	
	@TargetApi(Build.VERSION_CODES.ECLAIR)
	public void pickContact(Activity aty) {
	    // Create an intent to "pick" a contact, as defined by the content provider URI
	    Intent intent = new Intent(Intent.ACTION_PICK, Contacts.CONTENT_URI);
	    aty.startActivityForResult(intent, PICK_CONTACT_REQUEST);
	}
	
	public void onActivityResult(Activity aty,int requestCode, int resultCode, Intent data) {
	    // If the request went well (OK) and the request was PICK_CONTACT_REQUEST
	    if (resultCode == Activity.RESULT_OK && requestCode == PICK_CONTACT_REQUEST) {
	        // Perform a query to the contact's content provider for the contact's name
	        Cursor cursor = aty.getContentResolver().query(data.getData(),
	        new String[] {Contacts.DISPLAY_NAME}, null, null, null);
	        if (cursor.moveToFirst()) { // True if the cursor is not empty
	            int columnIndex = cursor.getColumnIndex(Contacts.DISPLAY_NAME);
	            String name = cursor.getString(columnIndex);
	            // Do something with the selected contact's name...
	        }
	    }
	}
	
	private ContactUtil(){
		/* cannot be instantiated */
		throw new UnsupportedOperationException(TAG+" cannot be instantiated");
	}
}
